Container based micro-services is an architecture that is quickly being adopted in the Data Center/Cloud Industry. Rather than build a single monstrous, monolithic application, container based micro-services split the application into a set of smaller interconnected micro-services. In micro-service architecture, service discovery plays a very important role, as container instances have dynamically assigned network locations and change dynamically due to auto-scaling, failures and upgrades. Current systems utilize a server-side discovery load balancer that acts as a proxy to connect a container instance with other container instances providing micro-services. To make service discovery work, however, the proxy needs to track all container instances for each micro-service. In some instances, a single application can contain hundreds of service and hundreds of container instances providing each of the micro-services. As a result, in data center deploying multiple applications, each server-side discovery load balancer or proxy may have to track hundreds of thousands or even millions of container instances. Accordingly, improvements are needed.